package com.example.springboot.controller;

import cn.hutool.core.util.StrUtil;
import com.example.springboot.common.AuthAccess;
import com.example.springboot.common.Result;
import com.example.springboot.entity.User;
import com.example.springboot.service.UserService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * 功能：提供接口和数据
 * 作者：旺旺威化饼
 * 日期：2025/03/01 15:18
 **/
@RestController
public class WebController {
    @Resource
    UserService userService;

    @AuthAccess
    @GetMapping("/")       //web/hello
    public Result hello() {
        return Result.success("success");
    }

    @PostMapping("/login")
    public Result login(@RequestBody User user) {
        if (StrUtil.isBlank(user.getUsername()) || StrUtil.isBlank(user.getPassword())) {
            return Result.error("数据输入不合法");
        }
        user = userService.login(user);
        return Result.success(user);
    }

    @AuthAccess
    @PostMapping("/register")
    public Result register(@RequestBody User user) {
        if (StrUtil.isBlank(user.getUsername()) || StrUtil.isBlank(user.getPassword()) || StrUtil.isBlank(user.getRole())) {
            return Result.error("数据输入不合法");
        }
        if (user.getUsername().length() > 10 || user.getPassword().length() > 20) {
            return Result.error("数据输入不合法");
        }
        user = userService.register(user);
        return Result.success(user);
    }
    /**
     * 重置密码
     * **/
    @AuthAccess
    @PutMapping("/password")
    public Result password(@RequestBody User user) {
        if (StrUtil.isBlank(user.getUsername()) || StrUtil.isBlank(user.getPhone())) {
            return Result.error("数据输入不合法");
        }
        userService.resetPassword(user);
        return Result.success();
    }
}






//
////    @PostMapping("/post")       //http://localhost:9090/web/post?name=旺旺威化饼&age=21      //Post接口（新增数据）
////    public Result post(@RequestBody Object object){
////        return Result.success(object);
////    }
//    @PostMapping("/post")       //http://localhost:9090/web/post
//    public Result post(@RequestBody Object object){
//        System.out.println(object.getName()==null?"是null":object.getName().isEmpty());  //无字输出是null,空字符串输出true,有字符串输出false
//        return Result.success(object);
//    }
//    @PutMapping("/put")       //http://localhost:9090/web/put       //Put接口（更新数据）
//    public Result put(@RequestBody Object object){
//        return Result.success(object);
//    }
//
////    @DeleteMapping("/delete/{id}")       //http://localhost:9090/web/delete/1   /1 => /{id}     //Delete接口（删除数据）
////    public Result delete(@PathVariable Integer id){
////        return Result.success(id);
////    }
//    @DeleteMapping("/delete")       //http://localhost:9090/web/delete   //Delete接口可以传JSON数据，批量删除可以使用delete类型的接口
//    public Result delete(@RequestBody List<Integer> ids){
//        return Result.success(ids);
//    }

